package com.otitan.la.forest.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.otitan.la.forest.system.dto.BaseParamDTO;
import com.otitan.la.forest.system.entity.BaseParamEntity;
import com.otitan.webapp.framework.basepro.model.DataResult;
import org.springframework.validation.BindingResult;

/**
 * 基础参数表
 *
 * @author jiacs
 * @email xxx
 * @date 2020-10-09 14:13:26
 */
public interface BaseParamService extends IService<BaseParamEntity> {

    /**
     * 列表查询（分页）
     * @return
     */
    DataResult findPageData(long page, long size, BaseParamDTO baseParam);

    /**
     * 根据ID查询
     * @author jiachangsen
     * @param [id]
     * @return com.otitan.la.forest.system.entity.BaseParamEntity
     * @exception
     * @date 2020/10/10 10:20
     */
    BaseParamEntity findOne(String id);

    /**
     * 查询当前用户登录超时次数
     * @author jiachangsen
     * @param [userName]
     * @return java.lang.Long
     * @exception
     * @date 2020/10/09 15:56
     */
    Long getUserLoginErrorNum(String userName);

    /**
     * 当前用户登录超时次数 + 1
     * @author jiachangsen
     * @param [userName]
     * @return java.lang.Long
     * @exception
     * @date 2020/10/09 15:56
     */
    Long addUserLoginErrorNum(String userName);

    /**
     * 删除 当前用户登录超时次数
     * @author jiachangsen
     * @param [userName]
     * @return void
     * @exception 
     * @date 2020/10/10 09:39
     */
    Boolean removeUserLoginError(String userName);

    /**
     * 更新
     * @author jiachangsen
     * @param [entity, bindingResult]
     * @return com.otitan.webapp.framework.basepro.model.DataResult
     * @exception
     * @date 2020/10/10 10:55
     */
    DataResult editor(BaseParamEntity entity, BindingResult bindingResult);
}

